package veterinaria.negocio;
import java.util.Collection;
import veterinaria.dao.PersonaDAO;
import veterinaria.excepcion.DAOExcepcion;
import veterinaria.modelo.Persona;

public class GestionPersona {

	public Collection<Persona> buscarPorNombre(String pNom) throws DAOExcepcion {
		PersonaDAO dao=new PersonaDAO();
		return dao.buscarPorNombre(pNom);
	}

	public Persona insertar (String pNom, String pDom, String pTel, String pCel, String pCor, String pIma) throws DAOExcepcion {
		PersonaDAO dao=new PersonaDAO();
		String cPer=busNomPersona(pNom);
		if (cPer==null) {		
		Persona cReg=new Persona();
		cReg.setPerNombre(pNom);
		cReg.setPerDomicilio(pDom);
		cReg.setPerTelefono(pTel);
		cReg.setPerCelular(pCel);
		cReg.setPerCorreo(pCor);
		cReg.setPerImagen(pIma);
		return dao.insertar(cReg);
		}
		else{
			int cCod=busCodPersona(pNom);
			Persona cDev=new Persona();
			cDev.setPerCodigo(cCod);
			cDev.setPerNombre(pNom);
			cDev.setPerDomicilio(pDom);
			cDev.setPerTelefono(pTel);
			cDev.setPerCelular(pCel);
			cDev.setPerCorreo(pCor);
			cDev.setPerImagen(pIma);			
			return dao.actualizar(cDev);						
		}		
	}

	public Persona obtener(int pCod) throws DAOExcepcion {
		PersonaDAO dao = new PersonaDAO();
		return dao.obtener(pCod);
	}

	public void eliminar(int pCod) throws DAOExcepcion {
		PersonaDAO dao = new PersonaDAO();
		dao.eliminar(pCod);
	}

	public Persona actualizar(int pCod, String pNom, String pDom, String pTel, String pCel, String pCor, String pIma) throws DAOExcepcion {
		PersonaDAO dao=new PersonaDAO();

		Persona cReg=new Persona();
		cReg.setPerCodigo(pCod);
		cReg.setPerNombre(pNom);
		cReg.setPerDomicilio(pDom);
		cReg.setPerTelefono(pTel);
		cReg.setPerCelular(pCel);
		cReg.setPerCorreo(pCor);
		cReg.setPerImagen(pIma);

		return dao.actualizar(cReg);
	}

	public Collection<Persona> listar() throws DAOExcepcion {
		PersonaDAO dao=new PersonaDAO();
		return dao.listar();
	}

	public String busNomPersona(String pNom) throws DAOExcepcion {
		PersonaDAO dao = new PersonaDAO();
		return dao.busNomPersona(pNom);
	}
	public int busCodPersona(String pNom) throws DAOExcepcion {
		PersonaDAO dao = new PersonaDAO();
		return dao.busCodPersona(pNom);
	}
}